/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Banco.Classes;

import Banco.DAO.ConfiguracoesDAO;

/**
 *
 * @author Jorge Dantas
 */
public class ConfiguracaoTurma {

    String aluno_matriculaFK;
    String turma_cursoFK;
    String turma_disciplinaFK;
    String turma_periodoFK;
    String turma_turmaFK;
    boolean configuracao;

    /**
     * Retorna matrícula
     * @return Matricula
     */
    public String getAluno_matriculaFK() {
        return aluno_matriculaFK;
    }

    /**
     * Construtor
     * @param config
     */
    public ConfiguracaoTurma(ConfiguracaoTurma config) {
        this.aluno_matriculaFK = config.aluno_matriculaFK;
        this.turma_cursoFK = config.turma_cursoFK;
        this.turma_disciplinaFK = config.turma_disciplinaFK;
        this.turma_periodoFK = config.turma_periodoFK;
        this.turma_turmaFK = config.turma_turmaFK;
        this.configuracao = config.configuracao;
    }

    /**
     * Construtor
     */
    public ConfiguracaoTurma() {
        this.aluno_matriculaFK = null;
        this.turma_cursoFK = null;
        this.turma_disciplinaFK = null;
        this.turma_periodoFK = null;
        this.turma_turmaFK = null;
        this.configuracao = false;
    }

    /**
     * Atribui matrícula.
     * @param aluno_matriculaFK - Matrícula
     */
    public void setAluno_matriculaFK(String aluno_matriculaFK) {
        this.aluno_matriculaFK = aluno_matriculaFK;
    }

    /**
     * Retorna o status da configuração.
     * @return True se a configuração estiver ativa e false caso a configuração esteja desativada
     */
    public boolean isConfiguracao() {
        return configuracao;
    }

    /**
     * Atribui status da configuração.
     * @param configuracao - Configuração
     */
    public void setConfiguracao(boolean configuracao) {
        this.configuracao = configuracao;
    }

    /**
     * Recupera curso.
     * @return curso
     */
    public String getTurma_cursoFK() {
        return turma_cursoFK;
    }

    /**
     * Atribui curso
     * @param turma_cursoFK - Curso
     */
    public void setTurma_cursoFK(String turma_cursoFK) {
        this.turma_cursoFK = turma_cursoFK;
    }

    /**
     * Recupera disciplina.
     * @return Disciplina
     */
    public String getTurma_disciplinaFK() {
        return turma_disciplinaFK;
    }

    /**
     * Atribui disciplina.
     * @param turma_disciplinaFK - Disciplina
     */
    public void setTurma_disciplinaFK(String turma_disciplinaFK) {
        this.turma_disciplinaFK = turma_disciplinaFK;
    }

    /**
     * Recupera período.
     * @return Período
     */
    public String getTurma_periodoFK() {
        return turma_periodoFK;
    }

    /**
     * Atribui período.
     * @param turma_periodoFK - Período
     */
    public void setTurma_periodoFK(String turma_periodoFK) {
        this.turma_periodoFK = turma_periodoFK;
    }

    /**
     * Recupera turma.
     * @return Turma
     */
    public String getTurma_turmaFK() {
        return turma_turmaFK;
    }

    /**
     * Atribui turma.
     * @param turma_turmaFK - Turma
     */
    public void setTurma_turmaFK(String turma_turmaFK) {
        this.turma_turmaFK = turma_turmaFK;
    }

    /**
     * Busca uma determinada configuração de um aluno para uma turma.
     * @param a - aluno
     * @param t - turma
     * @return Configuração encontrada
     */
    public ConfiguracaoTurma getConfiguracoesAlunoTurma(Aluno a, Turma t) {
        ConfiguracoesDAO c = new ConfiguracoesDAO();
        return c.getConfiguracoesAlunoTurma(a, t);
    }
}
